<script>
	export default {
		onLaunch: function() {
			console.log("launch");
			// const faceProviders = ["HAIXIN","ESAND"];
			// Vue.prototype.faceidModule = uni.requireNativePlugin("Esand-ESFaceIDModule");
			// Vue.prototype.faceProvider = faceProviders[0];
			// Vue.prototype.Base64Util = {
			// 	// private property
			// 	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
			// 	// public method for encoding
			// 	encode : function (input) {
			// 		var output = "";
			// 		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
			// 		var i = 0;
			 
			// 		input = this._utf8_encode(input);
			 
			// 		while (i < input.length) {
			 
			// 			chr1 = input.charCodeAt(i++);
			// 			chr2 = input.charCodeAt(i++);
			// 			chr3 = input.charCodeAt(i++);
			 
			// 			enc1 = chr1 >> 2;
			// 			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			// 			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			// 			enc4 = chr3 & 63;
			 
			// 			if (isNaN(chr2)) {
			// 				enc3 = enc4 = 64;
			// 			} else if (isNaN(chr3)) {
			// 				enc4 = 64;
			// 			}
			 
			// 			output = output +
			// 			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			// 			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
			 
			// 		}
			 
			// 		return output;
			// 	},
			// 	// 解码返回带符号的 字节数组
			// 	decode : function (input) {
			// 		let decodeArray =[];
			// 		let signedCharArray = [];
			// 		let paddingSize = input.indexOf("=");
			// 		paddingSize =  paddingSize == -1 ? 0 : input.length - paddingSize;
			// 		let chr1, chr2, chr3;
			// 		let enc1, enc2, enc3, enc4;
			// 		let i = 0;
			 
			// 		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
			// 		while (i < input.length) {
			// 			enc1 = this._keyStr.indexOf(input.charAt(i++));
			// 			enc2 = this._keyStr.indexOf(input.charAt(i++));
						
			// 			enc3 = this._keyStr.indexOf(input.charAt(i++));
			// 			enc4 = this._keyStr.indexOf(input.charAt(i++));
			 
			// 			chr1 = (enc1 << 2) | (enc2 >> 4);
			// 			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			// 			chr3 = ((enc3 & 3) << 6) | enc4;
						
			// 			decodeArray.push(chr1);
			// 			decodeArray.push(chr2);
			// 			decodeArray.push(chr3);
			// 		}
					
			// 		i = 0;
			// 		let c,c1,c2;
			// 		//转换以后的 字符
			// 		let tc;
			// 		while ( i < decodeArray.length ) {
			// 			c = decodeArray[i];
			// 			if (c < 128) {
			// 				tc = c;
			// 				i++;
			// 			}
			// 			else if((c > 191) && (c < 224)) {
			// 				c2 = decodeArray[i+1];
			// 				tc = ((c & 31) << 6) | (c2 & 63);
			// 				i += 2;
			// 			}
			// 			else {
			// 				c2 = decodeArray[i+1];
			// 				c3 = decodeArray[i+2];
			// 				tc = ((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63);
			// 				i += 3;
			// 			}
						
			// 			tc = tc > 127 ? 127 - tc : tc; 
			// 			signedCharArray.push(tc);
			// 		}
					
			// 		signedCharArray.splice(signedCharArray.length - paddingSize,paddingSize);
			// 		return signedCharArray;
			// 	},
		 
			// 	// private method for UTF-8 encoding
			// 	_utf8_encode : function (string) {
			// 		var utftext = "";
			 
			// 		for (var n = 0; n < string.length; n++) {
			 
			// 			var c = string[n];
			// 			c = c < 0 ? 127 - c : c;
						
			// 			if (c < 128) {
			// 				utftext += String.fromCharCode(c);
			// 			}
			// 			else if((c > 127) && (c < 2048)) {
			// 				utftext += String.fromCharCode((c >> 6) | 192);
			// 				utftext += String.fromCharCode((c & 63) | 128);
			// 			}
			// 			else {
			// 				utftext += String.fromCharCode((c >> 12) | 224);
			// 				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			// 				utftext += String.fromCharCode((c & 63) | 128);
			// 			}
			 
			// 		}
			 
			// 		return utftext;
			// 	},
			// };
			// Vue.prototype.globalSetting ={};
			// this.globalSetting.dbName = uni.getStorageSync("esDbName");
			// //获取一个随机字符串
			// Vue.prototype.getRandomStr = len =>{
			// 	　　len = len || 32;
			// 	　　var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
			// 	　　var maxPos = $chars.length;
			// 	　　var randomStr = '';
			// 	　　for (let i = 0; i < len; i++) {
			// 	　　　　randomStr += $chars.charAt(Math.floor(Math.random() * maxPos));
			// 	　　}
				  
			// 	  randomStr = 'FACEID_' + randomStr;
			// 	　return randomStr;
			// };
			// //服务器地址
			// // Vue.prototype.serverURL = "http://esfaceid.dev.esandcloud.com/esfaceid";
			// // const serverURL = "http://esfaceid.dev.esandcloud.com/esfaceid";
			// const serverURL = "http://125.70.253.221:18080/etasofflineface/face";
			// Vue.prototype.myPostRequest = (path,data)=>{
			// 	return new Promise((resolve,reject)=>{
			// 		uni.request({
			// 			url: serverURL + path,
			// 			method: 'POST',
			// 			header: {
			// 				'Content-Type': 'application/json; charset=UTF-8'
			// 			},
			// 			data: data,
			// 			success: res=>{
			// 				let resData = res.data;
			// 				console.log(res);
			// 				if(res.statusCode == "200"){
			// 					//一砂的返回参数形式
			// 					// res.serverType = "es";
								
			// 					//启明星的返回参数形式
			// 					let transRes = resData.resultValue;
			// 					transRes.serverType = "qmx";
			// 					transRes.code = resData.successful ? "0000" : resData.errCode;
			// 					transRes.msg = resData.resultHint;
			// 					resolve(transRes);
			// 					console.log(transRes);
			// 				}else{
			// 					resolve(resData);
			// 					console.log(resData);
			// 				}
							
			// 			},
			// 			fail: err=>{
			// 				resolve(err);
			// 				console.log(err);
			// 			}
			// 		 });
			// 	});
			// }
			
			// //一些工具方法
			// Vue.prototype.utils = {
			// 	/**
			// 	 * 显示一个dialog
			// 	 * @param {Object} msg 要显示的信息
			// 	 * @param {Object} keepTime 保持的时间 ms
			// 	 */
			// 	showDialog(msg,keepTime = -1){
			// 		uni.showLoading({
			// 			title: msg
			// 		});
					
			// 		if(keepTime >= 0){
			// 			setTimeout(()=>{
			// 				uni.hideLoading();
			// 			},keepTime);
			// 		}
			// 	}
			// };
			
			// Vue.prototype.compareDataBaseName = uni.getStorageSync("compareDataBaseName");
			// Date.prototype.Format = function (fmt) {
			//     var o = {
			//         "M+": this.getMonth() + 1, //月份 
			//         "d+": this.getDate(), //日 
			//         "H+": this.getHours(), //小时 
			//         "m+": this.getMinutes(), //分 
			//         "s+": this.getSeconds(), //秒 
			//         "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
			//         "S": this.getMilliseconds() //毫秒 
			//     };
			//     if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
			//     for (var k in o)
			//     if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
			//     return fmt;
			// }
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>
<style>
	page{
		background-color: #eee;
	}
	
	.console-window{
		height: 40%;
		position: fixed;
		width: 100%;
		/* background-color: #333333; */
		border: 1rpx #2C405A solid;
		bottom: 0rpx;
		left: 0rpx;
		padding: 10rpx 0rpx;
	}
	
	.log-message{
		height: auto;
		/* background-color: #3F536E; */
		margin: 10rpx 0rpx;
		max-width: 100%;
		word-wrap: break-word;
	}
	
	//空格
	.white-space{
		width: 20rpx;
		height: auto;
		background-color: #4CD964;
		display: inline-block;
	}
	
	.logMsg{
		display: inline-block;
		width: 98%;
		margin: 4rpx 0rpx;
		border: solid 2rpx #333333;
		word-wrap: break-word;
	}
	
	.smallHorizonMarigin{
		margin: 0rpx 30rpx;
	}
	
	.smallVerticalMarigin{
		margin: 30rpx 0rpx;
	}
	
	.textMiddle{
		text-align: center;
	}
	
	.buttonContainer{
		text-align: left;
		display: flex;
		background-color: #fff;
		border-radius: 8rpx;
		width: 93%;
		padding: 2rpx;
		z-index: 2;
		align-items: center;
		justify-items: center;
		flex-direction: column;
		justify-content: space-around;
		flex-wrap: wrap;
		overflow: scroll;
	}
	
	.myButton{
		background-color: #007AFF;
		color: #fff;
		display: inline-block;
	}
	
	.exitButton{
		position: absolute;
		right: 0rpx;
		top: -10rpx;
		display: block;
		font-size: 40rpx;
		color: #ff0000;
	}
	
	.exitButton image{
		height: 30rpx;
		width: 30rpx;
	}
	
	.dangeColor{
		background-color: #DD524D !important;
		color: #FFFFFF;
	}
	
	/**
	 * 弹性布局
	 */
	.flexBox{
		display: flex;
	}
	
	/**
	 * 垂直排列居中
	 */
	.flexColumnCenter{
		flex-direction: column;
		align-items: center;
	}
	
	.flexColumnVerticalCenter{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	/**
	 * 水平排列居中
	 */
	.flexRowCenter{
		flex-direction: row;
		justify-content : space-around;
	}
	
	/**
	 * 垂直排列靠两边
	 */
	.flexRowBetween{
		flex-direction: row;
		justify-content : space-between;
		align-items: center;
	}
	
	/**
	 * 相对父窗口而言一个很大的盒子
	 */
	.bigRelativeBox{
		width: 96%;
		height: calc(70% - 4rpx);
		/* background-color: #333333; */
		overflow: scroll;
		margin: 2rpx 0rpx;
	}
	
	.flowBox{
		width: calc(96% - 6rpx);
		height: calc(98% - 53rpx);
		position: fixed;
		top: -200vh;
		left: 1%;
		z-index: 3;
		/* transition: all 0.2s; */
		border: 2rpx solid #333443;
		border-radius: 4rpx;
		padding: 3rpx;
		padding-top: 50rpx;
	}
	
	/* 设置一个透明的背景色 */
	.flowBox::after{
		content: "";
		width: 100%;
		height: 100%;
		background-color: #fff;
		position: absolute;
		left: 0rpx;
		top: 0rpx;
		z-index: -1;
	}
	
	.flowBox[show]{
		top: 3rpx;
	}
	
	/**
	 * 相对父窗口而言一个比较小的盒子
	 */
	.smallRelativeBox{
		//减去内边距的大小
		width: calc(100% - 6rpx);
		//减去内边距和外边距的大小
		height: calc(30% - 10rpx);
		padding: 3rpx;
		/* background-color: #4CD964; */
		overflow: scroll;
		margin: 2rpx 0rpx;
	}
	
	.error-log{
		color : #ff1100;
	}
</style>
